#include "CompetenceNivPourcent.h"

using namespace std;

const ScoreAdditionnel CompetenceNivPourcent::SAPourcentage( Pourcentage );

CompetenceNivPourcent::CompetenceNivPourcent( const string& nom,
				      const unsigned& prix )
  : CompetenceClasseBase( "CompetenceNivPourcent", nom, "", prix )
{}

CompetenceNivPourcent::CompetenceNivPourcent( const string& nom,
				      const string& alias,
				      const unsigned& prix )
  : CompetenceClasseBase( "CompetenceNivPourcent", nom, alias, prix )
{}

CompetenceNivPourcent::CompetenceNivPourcent( const CompetenceNivPourcent&
					      nivPourcent )
  : CompetenceClasseBase( nivPourcent )
{}

CompetenceNivPourcent::~CompetenceNivPourcent()
{}

const ScoreAdditionnel& CompetenceNivPourcent::autreScore() const
{
  return SAPourcentage;
}

CompetenceClasseBase * CompetenceNivPourcent::creerCopie() const
{
  return new CompetenceNivPourcent( *this );
}

void CompetenceNivPourcent::afficherInstance( ostream& os ) const
{
  os << nom();
  if ( aliasDefini() )
    os << " (alias " << aliasNom() << ")";
  os << ", coût " << prix();
  os  << " (associé à un pourcentage dépendant du niveau)";
}

void CompetenceNivPourcent::afficherInstance( FlotMessage& flot ) const
{
  flot << nom();
  if ( aliasDefini() )
    flot << " (alias " << aliasNom() << ")";
  flot << ", coût " << prix();
  flot  << " (associé à un pourcentage dépendant du niveau)";
}
